package com.ruoyi.logisticsassignment.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 配送员对象 logisticsassignment
 * 
 * @author sqltudent
 * @date 2025-07-01
 */
public class Logisticsassignment extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增主键 */
    private Long assignmentId;

    /** 关联的物流单号 */
    @Excel(name = "关联的物流单号")
    private String logisticsId;

    /** 分配的配送员ID */
    @Excel(name = "分配的配送员ID")
    private String courierId;

    /** 实际取件时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际取件时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date pickupTime;

    /** 实际送达时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际送达时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deliveryTime;

    /** 预估配送距离(km) */
    @Excel(name = "预估配送距离(km)")
    private BigDecimal estimatedDistance;

    /** 实际行驶距离(km) */
    @Excel(name = "实际行驶距离(km)")
    private BigDecimal actualDistance;

    /** 任务状态 */
    @Excel(name = "任务状态")
    private String status;

    public void setAssignmentId(Long assignmentId) 
    {
        this.assignmentId = assignmentId;
    }

    public Long getAssignmentId() 
    {
        return assignmentId;
    }

    public void setLogisticsId(String logisticsId) 
    {
        this.logisticsId = logisticsId;
    }

    public String getLogisticsId() 
    {
        return logisticsId;
    }

    public void setCourierId(String courierId) 
    {
        this.courierId = courierId;
    }

    public String getCourierId() 
    {
        return courierId;
    }

    public void setPickupTime(Date pickupTime) 
    {
        this.pickupTime = pickupTime;
    }

    public Date getPickupTime() 
    {
        return pickupTime;
    }

    public void setDeliveryTime(Date deliveryTime) 
    {
        this.deliveryTime = deliveryTime;
    }

    public Date getDeliveryTime() 
    {
        return deliveryTime;
    }

    public void setEstimatedDistance(BigDecimal estimatedDistance) 
    {
        this.estimatedDistance = estimatedDistance;
    }

    public BigDecimal getEstimatedDistance() 
    {
        return estimatedDistance;
    }

    public void setActualDistance(BigDecimal actualDistance) 
    {
        this.actualDistance = actualDistance;
    }

    public BigDecimal getActualDistance() 
    {
        return actualDistance;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("assignmentId", getAssignmentId())
            .append("logisticsId", getLogisticsId())
            .append("courierId", getCourierId())
            .append("pickupTime", getPickupTime())
            .append("deliveryTime", getDeliveryTime())
            .append("estimatedDistance", getEstimatedDistance())
            .append("actualDistance", getActualDistance())
            .append("status", getStatus())
            .toString();
    }
}
